home *** CD-ROM | disk | FTP | other *** search
/ PC Graphics Unleashed / PC Graphics Unleashed.iso / ch17 / pi / roomfly / sphrcalc.inc < prev    next >
Encoding:
Text File  |  1994-08-02  |  3.6 KB  |  69 lines

  1. // Polyray include file: SPHRCALC.INC
  2. // by Rob McGregor
  3.  
  4. /************************************************************
  5.   Calculate the values of location vectors for sphere1 (red)
  6. *************************************************************/
  7.  
  8. define s1Px t3 * (-0.5 * s1n1x[key]) + t3 * (1.5 * s1n2x[key]) + t3 * 
  9.             (-1.5 * s1n3x[key]) + t3 * (0.5 * s1n4x[key]) + t2 * 
  10.             s1n1x[key] + t2 * (-2.5 * s1n2x[key]) + t2 * (2 * s1n3x[key]) + 
  11.             t2 * (-0.5 * s1n4x[key]) + t * (-0.5 * s1n1x[key]) + t * 
  12.             (0.5 * s1n3x[key]) + s1n2x[key]
  13.  
  14. define s1Py t3 * (-0.5 * s1n1y[key]) + t3 * (1.5 * s1n2y[key]) + t3 * 
  15.             (-1.5 * s1n3y[key]) + t3 * (0.5 * s1n4y[key]) + t2 * 
  16.             s1n1y[key] + t2 * (-2.5 * s1n2y[key]) + t2 * (2 * s1n3y[key]) + 
  17.             t2 * (-0.5 * s1n4y[key]) + t * (-0.5 * s1n1y[key]) + t * 
  18.             (0.5 * s1n3y[key]) + s1n2y[key]
  19.  
  20. define s1Pz t3 * (-0.5 * s1n1z[key]) + t3 * (1.5 * s1n2z[key]) + t3 * 
  21.             (-1.5 * s1n3z[key]) + t3 * (0.5 * s1n4z[key]) + t2 * 
  22.             s1n1z[key] + t2 * (-2.5 * s1n2z[key]) + t2 * (2 * s1n3z[key]) + 
  23.             t2 * (-0.5 * s1n4z[key]) + t * (-0.5 * s1n1z[key]) + t * 
  24.             (0.5 * s1n3z[key]) + s1n2z[key]
  25.  
  26. /*************************************************************
  27.   Calculate the values of location vectors for sphere2 (blue)
  28. **************************************************************/
  29.  
  30. define s2Px t3 * (-0.5 * s2n1x[key]) + t3 * (1.5 * s2n2x[key]) + t3 * 
  31.             (-1.5 * s2n3x[key]) + t3 * (0.5 * s2n4x[key]) + t2 * 
  32.             s2n1x[key] + t2 * (-2.5 * s2n2x[key]) + t2 * (2 * s2n3x[key]) + 
  33.             t2 * (-0.5 * s2n4x[key]) + t * (-0.5 * s2n1x[key]) + t * 
  34.             (0.5 * s2n3x[key]) + s2n2x[key]
  35.  
  36. define s2Py t3 * (-0.5 * s2n1y[key]) + t3 * (1.5 * s2n2y[key]) + t3 * 
  37.             (-1.5 * s2n3y[key]) + t3 * (0.5 * s2n4y[key]) + t2 * 
  38.             s2n1y[key] + t2 * (-2.5 * s2n2y[key]) + t2 * (2 * s2n3y[key]) + 
  39.             t2 * (-0.5 * s2n4y[key]) + t * (-0.5 * s2n1y[key]) + t * 
  40.             (0.5 * s2n3y[key]) + s2n2y[key]
  41.  
  42. define s2Pz t3 * (-0.5 * s2n1z[key]) + t3 * (1.5 * s2n2z[key]) + t3 * 
  43.             (-1.5 * s2n3z[key]) + t3 * (0.5 * s2n4z[key]) + t2 * 
  44.             s2n1z[key] + t2 * (-2.5 * s2n2z[key]) + t2 * (2 * s2n3z[key]) + 
  45.             t2 * (-0.5 * s2n4z[key]) + t * (-0.5 * s2n1z[key]) + t * 
  46.             (0.5 * s2n3z[key]) + s2n2z[key]
  47.  
  48. /**************************************************************
  49.   Calculate the values of location vectors for sphere3 (green)
  50. ***************************************************************/
  51.  
  52. define s3Px t3 * (-0.5 * s3n1x[key]) + t3 * (1.5 * s3n2x[key]) + t3 * 
  53.             (-1.5 * s3n3x[key]) + t3 * (0.5 * s3n4x[key]) + t2 * 
  54.             s3n1x[key] + t2 * (-2.5 * s3n2x[key]) + t2 * (2 * s3n3x[key]) + 
  55.             t2 * (-0.5 * s3n4x[key]) + t * (-0.5 * s3n1x[key]) + t * 
  56.             (0.5 * s3n3x[key]) + s3n2x[key]
  57.  
  58. define s3Py t3 * (-0.5 * s3n1y[key]) + t3 * (1.5 * s3n2y[key]) + t3 * 
  59.             (-1.5 * s3n3y[key]) + t3 * (0.5 * s3n4y[key]) + t2 * 
  60.             s3n1y[key] + t2 * (-2.5 * s3n2y[key]) + t2 * (2 * s3n3y[key]) + 
  61.             t2 * (-0.5 * s3n4y[key]) + t * (-0.5 * s3n1y[key]) + t * 
  62.             (0.5 * s3n3y[key]) + s3n2y[key]
  63.  
  64. define s3Pz t3 * (-0.5 * s3n1z[key]) + t3 * (1.5 * s3n2z[key]) + t3 * 
  65.             (-1.5 * s3n3z[key]) + t3 * (0.5 * s3n4z[key]) + t2 * 
  66.             s3n1z[key] + t2 * (-2.5 * s3n2z[key]) + t2 * (2 * s3n3z[key]) + 
  67.             t2 * (-0.5 * s3n4z[key]) + t * (-0.5 * s3n1z[key]) + t * 
  68.             (0.5 * s3n3z[key]) + s3n2z[key]
  69.